package br.ucb.servlets.cliente;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import br.ucb.dao.ClienteDAO;
import br.ucb.entidade.Cliente;
import br.ucb.service.ClienteService;
import br.ucb.service.impl.ClienteServiceImpl;
import br.ucb.servlets.AbstractPapirosServlet;

public class CadastrarClienteServlet_1 extends AbstractPapirosServlet<Cliente, ClienteService, ClienteDAO>{

	private static final long serialVersionUID = 1L;

	@Override
	protected void processaRequisicao(HttpServletRequest req,
			HttpServletResponse resp)throws ServletException,IOException {
		
		setEntidadeService(new ClienteServiceImpl());
		setEntidade(getDadosFormulario(req));
		
		/**
		  Se conseguir cadastrar o cliente encaminha para outra controladora de cadastro de usuario 
		 * a fim de fazer o cadastro do usuario e j� log�-lo, sen�o retorna com os dados j� digitados
		 */
		if(insert(getEntidade(), req))
			forward(req, resp, "/cadastrarUsuario");
		else{
			req.setAttribute("formCliente", getEntidade());
			forward(req, resp, "/jsp/cliente/cadastrarCliente.jsp");
		}
	}
	
	/**
	 * Cria objeto Cliente com os dados informados no formulario de Cadastro de Cliente
	 * @param req
	 * @return
	 */
	private Cliente getDadosFormulario(HttpServletRequest req){
		Cliente cliente = new Cliente();
		
		cliente.setCpf(req.getParameter("txtCpf"));
		cliente.setEmail(req.getParameter("txtEmail"));
		cliente.setEndereco(req.getParameter("txtEndereco"));
		cliente.setNome(req.getParameter("txtNome"));
		cliente.setTelefone(req.getParameter("txtTelefone"));
		cliente.setEmDia(1);
				
		return cliente;
	}
	
}
